package com.hst.capacity.domain.model.entity.invoice;

import com.hst.capacity.domain.model.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Data
@EqualsAndHashCode(callSuper=false)
@Entity
@Table(name = "fa_platform_invoice")//发票申请与开票记录
public class InvoiceEntity extends BaseEntity {

    @Id
    @GeneratedValue(generator = "gen_uuid")
    @GenericGenerator(name = "gen_uuid", strategy = "uuid")
    private String idInvoice;            //发票ID
    private String idOrder;              //订单号
    private String idMember;             //用户ID
    private String idFranchisee;         //运力商ID
    private String idBrandHolder;        //品牌商ID
    private String idChannel;            //渠道商ID（第三方用）
    private String channelName;          //渠道商名字（第三方用）
    private String idUser;               //第三方下单人ID
    private String externalOrderId;      //外部订单号（飞猪订单号）
    private int    isElecInvoice;        //是否电子发票 1：电子发票，0：纸质发票
    private int    isCompanyInvoice;     //是否企业发票 1：企业发票，0：个人发票
    private String invoiceContent;       //代收租车费	发票内容，如代收租车费
    private String invoiceTitle;         //发票抬头	发票抬头
    private Integer invoiceSendWay;      //发票寄送方式。1-预付邮费 2-到付。is_elec_invoice为0情况下，填写纸质发票寄送方式
    private Integer invoiceSendFee;      //发票寄送费用, 单位分。当invoice_send_way为1情况下，填写发票预付费用
    private String invoiceSendAddr;      //发票寄送地址信息
    private String invoiceReceivePhone;  //发票接收人电话
    private String invoiceReceiveName;   //发票接收人姓名
    private String invoiceSendEmail;     //发票寄送邮箱（用于电子发票）
    private String taxNo;                //企业（公司）税号
    private String companyAddress;       //公司注册地址
    private String companyPhone;         //公司电话
    private String companyBank;          //公司开户银行的名称
    private String companyBankNo;        //公司开户银行帐号
    private String idOrders;             //合并开票商家订单id列表(订单号用,隔开)
    private int    bizType;              //业务类型:0-接送机 1-即时打车 2-国内租车 3-国际租车（不传默认是接送机）
    private int    orderSource;          //订单来源（1：平台 11:同程  21:飞猪接送机）
    private int    invoiceStatus;	     //开票状态（-1:未开具1:开具中;2:开具完成;3:已发送;4:开票失败(必传)）
    private Integer invoiceAmount;	     //开票金额
    private String invoiceUrl;	         //电子发票pdf下载地址(状态2,3必传)
    private String journeyUrl;	         //行程单pdf下载地址(非必传,有则赋值)

}
